1. Field of the Invention
The present invention relates to an image forming apparatus which is capable of notifying a user of information concerning firmware update, a method of controlling the image forming apparatus, and a non-transitory computer-readable storage medium storing a computer-executable program for causing a computer to execute the method.
2. Description of the Related Art
Conventionally, the update of firmware used in an image forming apparatus, such as a digital multifunction peripheral, has generally been performed at a customer's place by a service person of a sales company. However, recent improvement of the environment of the Internet has made it possible to notify an image forming apparatus only of a portion of firmware to be updated via the Internet. This enables the user to update the firmware of the image forming apparatus without requiring a service person to visit his/her place where the image forming apparatus is installed.
In a case where a user updates the firmware of an image forming apparatus, the user is required to determine timing for firmware update depending on use conditions of the image forming apparatus. For the user to determine the update timing, it is necessary for a firmware supplier to supply the user with information concerning an update based on which the user can determine the update timing.
Information on a processing time period required for a firmware update can be mentioned as an important piece of information to be supplied to the user. To notify the user (or another apparatus) of the processing time period required for the firmware update, it can be envisaged to set and display a processing time period which is to be uniformly predicted, on the user's image forming apparatus, whenever an update event occurs. However, even image forming apparatuses of the same model have different firmware configurations, and further there occurs variation in differences corresponding to portions of firmware to be updated, between older versions which are to be updated to the newest version, even though the update finally causes the firmware to have the same contents. This makes it impossible to uniformly estimate the processing time period.
To solve this problem, there has conventionally been proposed a method of calculating an update processing time period required for a firmware update (see e.g. Japanese Patent Laid-Open Publication No. 2007-334636). According to Japanese Patent Laid-Open Publication No. 2007-334636, in the case of updating firmware, modules to be updated are determined based on version numbers of respective modules constituting software, and update time is calculated by adding up data transfer time periods, rewriting time periods, and overhead time periods for determining rewrite positions.
In actual firmware update processing executed in an image forming apparatus, the reboot for switching the operation mode of the system occurs a plurality of times, and the number of reboots and time taken for the reboots affect processing time for the entire update. For this reason, it is necessary to take into account the number of reboots and time required for the reboots in calculating an update processing time period required for a firmware update. Further, in order to enable a user to perform update in a reassured manner, it is important to notify the user, during the update processing, of an update status as to which portion of the firmware is actually being updated, how many reboots will be required, and when the system will reboot, and so forth. However, in the conventional update time-calculating method, reboots which occur during execution of firmware update are not taken into account.